home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / develop™ Technical Journal / develop Issue 4 code / C++ Driver.sea / C++ Driver / iacDriver / installDriver.c < prev    next >
MacBinary  |  1991-07-23  |  4.0 KB  |  [TEXT/MPS ]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Tue Jul 23 12:40:30 1991, modified Tue Jul 23 12:40:30 1991, creator 'MPS ', type ASCII, 3353 bytes "installDriver.c" magic text fragment for file(1) cmd, 1st line "#include%09"installDriver.h"", 2nd line "/**********************************Comment*****************************************", at 0xd99 428 bytes resource magic text fragment for file(1) cmd, 1st line "#include%09"installDriver.h"", 2nd line "/**********************************Comment*****************************************" default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[MPS ]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0f 69 6e 73 74 61 6c | 6c 44 72 69 76 65 72 2e |..instal|lDriver.|
|00000010| 63 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |c.......|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 50 53 | 20 01 00 00 00 00 00 00 |.TEXTMPS| .......|
|00000050| 00 00 00 00 00 0d 19 00 | 00 01 ac a4 b2 0c 7e a4 |........|......~.|
|00000060| b2 0c 7e 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |..~.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 64 03 00 00 |........|....d...|
|00000080| 23 69 6e 63 6c 75 64 65 | 09 22 69 6e 73 74 61 6c |#include|."instal|
|00000090| 6c 44 72 69 76 65 72 2e | 68 22 0d 2f 2a 2a 2a 2a |lDriver.|h"./****|
|000000a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 43 6f |********|******Co|
|000000c0| 6d 6d 65 6e 74 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |mment***|********|
|000000d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 0d 20 |********|******. |
|000000f0| 2a 20 4d 61 69 6e 20 6c | 6f 6f 6b 73 20 66 6f 72 |* Main l|ooks for|
|00000100| 20 61 20 22 73 6c 6f 74 | 22 20 69 6e 20 74 68 65 | a "slot|" in the|
|00000110| 20 55 6e 69 74 54 61 62 | 6c 65 20 69 6e 74 6f 20 | UnitTab|le into |
|00000120| 77 68 69 63 68 20 74 68 | 65 20 64 72 69 76 65 72 |which th|e driver|
|00000130| 20 63 61 6e 20 62 65 20 | 70 6c 61 63 65 64 2e 20 | can be |placed. |
|00000140| 20 49 66 0d 20 2a 20 69 | 74 20 66 69 6e 64 73 20 | If. * i|t finds |
|00000150| 61 20 22 73 6c 6f 74 22 | 20 69 74 20 63 61 6c 6c |a "slot"| it call|
|00000160| 73 20 74 68 65 20 70 72 | 6f 63 65 64 75 72 65 20 |s the pr|ocedure |
|00000170| 63 68 61 6e 67 65 44 52 | 56 52 53 6c 6f 74 20 74 |changeDR|VRSlot t|
|00000180| 6f 20 69 6e 73 74 61 6c | 6c 20 74 68 65 20 64 72 |o instal|l the dr|
|00000190| 69 76 65 72 20 0d 20 2a | 20 69 6e 74 6f 20 74 68 |iver . *| into th|
|000001a0| 61 74 20 73 6c 6f 74 2e | 20 4e 6f 74 65 20 74 68 |at slot.| Note th|
|000001b0| 61 74 20 74 68 69 73 20 | 63 6f 64 65 20 61 73 73 |at this |code ass|
|000001c0| 75 6d 65 73 20 74 68 61 | 74 20 74 68 65 20 72 65 |umes tha|t the re|
|000001d0| 73 6f 75 72 63 65 20 66 | 69 6c 65 20 69 73 20 6f |source f|ile is o|
|000001e0| 70 65 6e 20 28 74 68 65 | 20 0d 20 2a 20 63 68 61 |pen (the| . * cha|
|000001f0| 6e 67 65 44 52 56 45 53 | 6c 6f 74 20 72 6f 75 74 |ngeDRVES|lot rout|
|00000200| 69 6e 65 20 6e 65 65 64 | 73 20 74 6f 20 67 65 74 |ine need|s to get|
|00000210| 20 61 74 20 74 68 65 20 | 44 52 56 52 29 3a 20 73 | at the |DRVR): s|
|00000220| 69 6e 63 65 20 74 68 65 | 20 69 6e 69 74 20 61 6e |ince the| init an|
|00000230| 64 20 74 68 65 20 44 52 | 56 52 20 0d 20 2a 20 61 |d the DR|VR . * a|
|00000240| 72 65 20 69 6e 20 74 68 | 65 20 73 61 6d 65 20 66 |re in th|e same f|
|00000250| 69 6c 65 20 74 68 69 73 | 20 69 73 20 73 61 66 65 |ile this| is safe|
|00000260| 2e 0d 20 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.. *****|********|
|00000270| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000280| 2a 2a 2a 2a 2a 45 6e 64 | 20 43 6f 6d 6d 65 6e 74 |*****End| Comment|
|00000290| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000002a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000002b0| 2a 2a 2a 2a 2f 0d 70 61 | 73 63 61 6c 20 6d 61 69 |****/.pa|scal mai|
|000002c0| 6e 28 29 0d 7b 0d 73 68 | 6f 72 74 09 09 74 73 53 |n().{.sh|ort..tsS|
|000002d0| 6c 6f 74 3b 0d 0d 69 66 | 28 28 74 73 53 6c 6f 74 |lot;..if|((tsSlot|
|000002e0| 20 3d 20 6c 6f 6f 6b 46 | 6f 72 53 6c 6f 74 49 6e | = lookF|orSlotIn|
|000002f0| 55 6e 69 74 54 61 62 6c | 65 28 29 29 20 21 3d 20 |UnitTabl|e()) != |
|00000300| 30 29 0d 09 63 68 61 6e | 67 65 44 52 56 52 53 6c |0)..chan|geDRVRSl|
|00000310| 6f 74 28 74 73 53 6c 6f | 74 29 3b 0d 7d 0d 0d 2f |ot(tsSlo|t);.}../|
|00000320| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000330| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000340| 2a 2a 43 6f 6d 6d 65 6e | 74 2a 2a 2a 2a 2a 2a 2a |**Commen|t*******|
|00000350| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000360| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000370| 2a 2a 0d 20 2a 20 6c 6f | 6f 6b 46 6f 72 53 6c 6f |**. * lo|okForSlo|
|00000380| 74 49 6e 55 6e 69 74 54 | 61 62 6c 65 20 72 65 74 |tInUnitT|able ret|
|00000390| 75 72 6e 73 20 61 20 73 | 68 6f 72 74 20 63 6f 72 |urns a s|hort cor|
|000003a0| 72 65 73 70 6f 6e 64 69 | 6e 67 20 74 6f 20 61 20 |respondi|ng to a |
|000003b0| 76 61 6c 69 64 20 22 73 | 6c 6f 74 22 20 6e 75 6d |valid "s|lot" num|
|000003c0| 62 65 72 2e 20 20 49 74 | 27 6c 6c 0d 20 72 61 6e |ber. It|'ll. ran|
|000003d0| 67 65 20 66 72 6f 6d 20 | 34 38 20 74 6f 20 55 6e |ge from |48 to Un|
|000003e0| 69 74 4e 54 72 79 43 6e | 74 2e 20 20 49 66 20 74 |itNTryCn|t. If t|
|000003f0| 68 65 72 65 20 61 72 65 | 20 6e 6f 20 73 6c 6f 74 |here are| no slot|
|00000400| 73 20 61 76 61 69 6c 61 | 62 6c 65 20 69 74 20 72 |s availa|ble it r|
|00000410| 65 74 75 72 6e 73 20 30 | 2e 20 20 45 73 73 65 6e |eturns 0|. Essen|
|00000420| 74 69 61 6c 6c 79 20 77 | 68 61 74 0d 20 77 65 27 |tially w|hat. we'|
|00000430| 72 65 20 64 6f 69 6e 67 | 20 68 65 72 65 20 69 73 |re doing| here is|
|00000440| 20 73 74 61 72 74 69 6e | 67 20 61 74 20 74 68 65 | startin|g at the|
|00000450| 20 45 4e 44 20 6f 66 20 | 74 68 65 20 55 6e 69 74 | END of |the Unit|
|00000460| 54 61 62 6c 65 2c 20 74 | 65 73 74 69 6e 67 20 74 |Table, t|esting t|
|00000470| 68 65 20 76 61 6c 75 65 | 20 61 74 20 65 61 63 68 |he value| at each|
|00000480| 0d 20 6c 6f 6e 67 2d 77 | 6f 72 64 20 6c 6f 63 61 |. long-w|ord loca|
|00000490| 74 69 6f 6e 20 74 6f 20 | 73 65 65 20 69 66 20 69 |tion to |see if i|
|000004a0| 74 27 73 20 6e 69 6c 2e | 20 20 49 66 20 69 74 27 |t's nil.| If it'|
|000004b0| 73 20 6e 69 6c 2c 20 74 | 68 61 74 20 6d 65 61 6e |s nil, t|hat mean|
|000004c0| 73 20 77 65 20 63 61 6e | 20 70 6c 61 63 65 20 6f |s we can| place o|
|000004d0| 75 72 20 64 72 69 76 65 | 72 0d 20 61 74 20 74 68 |ur drive|r. at th|
|000004e0| 61 74 20 6c 6f 63 61 74 | 69 6f 6e 2c 20 73 6f 20 |at locat|ion, so |
|000004f0| 77 65 27 6c 6c 20 72 65 | 74 75 72 6e 20 74 68 65 |we'll re|turn the|
|00000500| 20 76 61 6c 75 65 20 6f | 66 20 74 68 65 20 22 73 | value o|f the "s|
|00000510| 6c 6f 74 22 2e 0d 20 2a | 2a 2a 2a 2a 2a 2a 2a 2a |lot".. *|********|
|00000520| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000530| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 45 6e 64 20 43 6f 6d |********|*End Com|
|00000540| 6d 65 6e 74 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |ment****|********|
|00000550| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000560| 2a 2a 2a 2a 2a 2a 2a 2a | 2f 0d 73 68 6f 72 74 20 |********|/.short |
|00000570| 0d 6c 6f 6f 6b 46 6f 72 | 53 6c 6f 74 49 6e 55 6e |.lookFor|SlotInUn|
|00000580| 69 74 54 61 62 6c 65 28 | 29 0d 7b 0d 73 68 6f 72 |itTable(|).{.shor|
|00000590| 74 09 09 73 6c 6f 74 3b | 0d 50 74 72 09 09 74 68 |t..slot;|.Ptr..th|
|000005a0| 65 42 61 73 73 3b 0d 6c | 6f 6e 67 09 09 2a 74 68 |eBass;.l|ong..*th|
|000005b0| 65 56 6f 69 64 50 74 72 | 3b 0d 42 6f 6f 6c 65 61 |eVoidPtr|;.Boolea|
|000005c0| 6e 20 09 66 6f 75 6e 64 | 53 6c 6f 74 3b 0d 0d 73 |n .found|Slot;..s|
|000005d0| 6c 6f 74 20 3d 20 2a 28 | 28 73 68 6f 72 74 20 2a |lot = *(|(short *|
|000005e0| 29 28 55 6e 69 74 4e 74 | 72 79 43 6e 74 29 29 20 |)(UnitNt|ryCnt)) |
|000005f0| 2d 20 31 3b 0d 74 68 65 | 42 61 73 73 20 3d 20 28 |- 1;.the|Bass = (|
|00000600| 50 74 72 29 20 28 2a 28 | 28 6c 6f 6e 67 20 2a 29 |Ptr) (*(|(long *)|
|00000610| 20 28 55 54 61 62 6c 65 | 42 61 73 65 29 29 29 3b | (UTable|Base)));|
|00000620| 0d 0d 66 6f 75 6e 64 53 | 6c 6f 74 20 3d 20 66 61 |..foundS|lot = fa|
|00000630| 6c 73 65 3b 0d 0d 77 68 | 69 6c 65 28 73 6c 6f 74 |lse;..wh|ile(slot|
|00000640| 3e 34 38 20 26 26 20 21 | 66 6f 75 6e 64 53 6c 6f |>48 && !|foundSlo|
|00000650| 74 29 20 0d 09 7b 0d 09 | 74 68 65 56 6f 69 64 50 |t) ..{..|theVoidP|
|00000660| 74 72 20 3d 20 28 6c 6f | 6e 67 20 2a 29 28 74 68 |tr = (lo|ng *)(th|
|00000670| 65 42 61 73 73 20 2b 20 | 28 34 4c 20 2a 20 73 6c |eBass + |(4L * sl|
|00000680| 6f 74 29 29 3b 0d 09 0d | 09 69 66 28 2a 74 68 65 |ot));...|.if(*the|
|00000690| 56 6f 69 64 50 74 72 20 | 3d 3d 20 30 4c 29 0d 09 |VoidPtr |== 0L)..|
|000006a0| 09 66 6f 75 6e 64 53 6c | 6f 74 20 3d 20 74 72 75 |.foundSl|ot = tru|
|000006b0| 65 3b 0d 09 09 0d 09 73 | 6c 6f 74 20 2d 3d 20 31 |e;.....s|lot -= 1|
|000006c0| 3b 0d 09 7d 0d 09 0d 73 | 6c 6f 74 20 2b 3d 20 31 |;..}...s|lot += 1|
|000006d0| 3b 0d 0d 69 66 28 21 66 | 6f 75 6e 64 53 6c 6f 74 |;..if(!f|oundSlot|
|000006e0| 29 0d 09 73 6c 6f 74 20 | 3d 20 30 3b 0d 09 0d 72 |)..slot |= 0;...r|
|000006f0| 65 74 75 72 6e 20 73 6c | 6f 74 3b 0d 7d 0d 0d 0d |eturn sl|ot;.}...|
|00000700| 2f 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |/*******|********|
|00000710| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000720| 2a 2a 2a 43 6f 6d 6d 65 | 6e 74 2a 2a 2a 2a 2a 2a |***Comme|nt******|
|00000730| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000740| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000750| 2a 2a 2a 0d 2a 20 63 68 | 61 6e 67 65 44 52 56 52 |***.* ch|angeDRVR|
|00000760| 53 6c 6f 74 20 69 6e 73 | 74 61 6c 6c 73 20 74 68 |Slot ins|talls th|
|00000770| 65 20 64 72 69 76 65 72 | 20 69 6e 74 6f 20 74 68 |e driver| into th|
|00000780| 65 20 73 6c 6f 74 20 70 | 61 73 73 65 64 20 69 6e |e slot p|assed in|
|00000790| 2e 20 20 42 65 63 61 75 | 73 65 20 77 65 20 77 61 |. Becau|se we wa|
|000007a0| 6e 74 20 74 6f 20 6b 65 | 65 70 0d 2a 20 6f 75 72 |nt to ke|ep.* our|
|000007b0| 20 44 52 56 52 20 72 65 | 73 6f 75 72 63 65 20 49 | DRVR re|source I|
|000007c0| 44 20 69 6e 20 74 68 65 | 20 72 65 73 6f 75 72 63 |D in the| resourc|
|000007d0| 65 20 66 69 6c 65 20 74 | 68 65 20 73 61 6d 65 20 |e file t|he same |
|000007e0| 61 73 20 69 74 20 65 76 | 65 72 20 77 61 73 2c 20 |as it ev|er was, |
|000007f0| 77 65 20 47 65 74 52 65 | 73 49 6e 66 6f 20 6f 6e |we GetRe|sInfo on|
|00000800| 0d 2a 20 69 74 2c 20 61 | 6e 64 20 74 68 65 6e 20 |.* it, a|nd then |
|00000810| 73 65 74 20 69 74 20 62 | 61 63 6b 20 6c 61 74 65 |set it b|ack late|
|00000820| 72 2e 20 20 42 75 74 2c | 20 62 65 66 6f 72 65 20 |r. But,| before |
|00000830| 77 65 20 73 65 74 20 69 | 74 20 62 61 63 6b 2c 20 |we set i|t back, |
|00000840| 77 65 20 73 65 74 20 74 | 68 65 20 49 44 20 6f 66 |we set t|he ID of|
|00000850| 20 74 68 65 20 0d 2a 20 | 44 52 56 52 20 72 65 73 | the .* |DRVR res|
|00000860| 6f 75 72 63 65 20 65 71 | 75 61 6c 20 74 6f 20 74 |ource eq|ual to t|
|00000870| 68 65 20 73 6c 6f 74 20 | 66 6f 75 6e 64 2c 20 61 |he slot |found, a|
|00000880| 6e 64 20 74 68 65 6e 20 | 63 61 6c 6c 20 4f 70 65 |nd then |call Ope|
|00000890| 6e 44 72 69 76 65 72 2e | 20 20 4f 70 65 6e 44 72 |nDriver.| OpenDr|
|000008a0| 69 76 65 72 20 75 73 65 | 73 20 74 68 65 0d 2a 20 |iver use|s the.* |
|000008b0| 72 65 73 6f 75 72 63 65 | 20 49 44 20 6f 66 20 74 |resource| ID of t|
|000008c0| 68 65 20 44 52 56 52 20 | 72 65 73 6f 75 72 63 65 |he DRVR |resource|
|000008d0| 20 74 6f 20 70 6c 61 63 | 65 20 69 74 20 69 6e 20 | to plac|e it in |
|000008e0| 74 68 65 20 55 6e 69 74 | 54 61 62 6c 65 20 2d 2d |the Unit|Table --|
|000008f0| 20 70 72 65 74 74 79 20 | 65 61 73 79 20 68 75 68 | pretty |easy huh|
|00000900| 3f 0d 2a 20 54 68 65 20 | 6f 6e 6c 79 20 6f 74 68 |?.* The |only oth|
|00000910| 65 72 20 74 72 69 63 6b | 79 20 74 68 69 6e 67 20 |er trick|y thing |
|00000920| 69 73 20 77 65 20 68 61 | 76 65 20 74 6f 20 44 65 |is we ha|ve to De|
|00000930| 74 61 63 68 20 74 68 65 | 20 72 65 73 6f 75 72 63 |tach the| resourc|
|00000940| 65 20 62 79 20 63 61 6c | 6c 69 6e 67 20 44 65 74 |e by cal|ling Det|
|00000950| 61 63 68 52 65 73 6f 75 | 72 63 65 0d 2a 20 73 6f |achResou|rce.* so|
|00000960| 20 74 68 65 20 72 65 73 | 6f 75 72 63 65 20 64 6f | the res|ource do|
|00000970| 65 73 6e 27 74 20 67 6f | 20 61 77 61 79 20 77 68 |esn't go| away wh|
|00000980| 65 6e 20 74 68 65 20 72 | 65 73 6f 75 72 63 65 20 |en the r|esource |
|00000990| 66 69 6c 65 20 67 65 74 | 73 20 63 6c 6f 73 65 64 |file get|s closed|
|000009a0| 20 28 74 68 65 20 52 65 | 73 6f 75 72 63 65 0d 2a | (the Re|source.*|
|000009b0| 20 4d 61 6e 61 67 65 72 | 20 69 73 20 6f 75 72 20 | Manager| is our |
|000009c0| 66 72 69 65 6e 64 29 2e | 20 20 54 68 65 20 72 65 |friend).| The re|
|000009d0| 73 6f 75 72 63 65 20 66 | 69 6c 65 20 67 65 74 73 |source f|ile gets|
|000009e0| 20 63 6c 6f 73 65 64 20 | 77 68 65 6e 20 74 68 65 | closed |when the|
|000009f0| 20 49 4e 49 54 20 73 74 | 6f 70 73 20 65 78 65 63 | INIT st|ops exec|
|00000a00| 75 74 69 6e 67 2e 0d 20 | 2a 2a 2a 2a 2a 2a 2a 2a |uting.. |********|
|00000a10| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000a20| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 45 6e 64 20 43 6f |********|**End Co|
|00000a30| 6d 6d 65 6e 74 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |mment***|********|
|00000a40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000a50| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2f 0d 76 6f 69 64 0d |********|*/.void.|
|00000a60| 63 68 61 6e 67 65 44 52 | 56 52 53 6c 6f 74 28 73 |changeDR|VRSlot(s|
|00000a70| 68 6f 72 74 20 73 6c 6f | 74 29 20 09 0d 7b 0d 48 |hort slo|t) ..{.H|
|00000a80| 61 6e 64 6c 65 09 09 74 | 68 65 44 52 56 52 3b 0d |andle..t|heDRVR;.|
|00000a90| 73 68 6f 72 74 09 09 09 | 65 72 72 2c 20 72 65 66 |short...|err, ref|
|00000aa0| 4e 75 6d 3b 0d 63 68 61 | 72 09 09 09 2a 6e 61 6d |Num;.cha|r...*nam|
|00000ab0| 65 2c 20 44 52 56 52 6e | 61 6d 65 5b 32 35 36 5d |e, DRVRn|ame[256]|
|00000ac0| 3b 0d 73 68 6f 72 74 09 | 09 09 44 52 56 52 69 64 |;.short.|..DRVRid|
|00000ad0| 3b 0d 52 65 73 54 79 70 | 65 09 09 44 52 56 52 54 |;.ResTyp|e..DRVRT|
|00000ae0| 79 70 65 3b 0d 0d 6e 61 | 6d 65 20 3d 20 22 5c 70 |ype;..na|me = "\p|
|00000af0| 2e 54 69 6d 44 72 69 76 | 65 72 22 3b 0d 0d 69 66 |.TimDriv|er";..if|
|00000b00| 28 73 6c 6f 74 20 21 3d | 20 30 29 20 7b 09 09 0d |(slot !=| 0) {...|
|00000b10| 09 74 68 65 44 52 56 52 | 20 3d 20 47 65 74 4e 61 |.theDRVR| = GetNa|
|00000b20| 6d 65 64 52 65 73 6f 75 | 72 63 65 28 27 44 52 56 |medResou|rce('DRV|
|00000b30| 52 27 2c 20 6e 61 6d 65 | 29 3b 0d 09 47 65 74 52 |R', name|);..GetR|
|00000b40| 65 73 49 6e 66 6f 28 74 | 68 65 44 52 56 52 2c 20 |esInfo(t|heDRVR, |
|00000b50| 26 44 52 56 52 69 64 2c | 20 26 44 52 56 52 54 79 |&DRVRid,| &DRVRTy|
|00000b60| 70 65 2c 20 26 44 52 56 | 52 6e 61 6d 65 29 3b 0d |pe, &DRV|Rname);.|
|00000b70| 09 53 65 74 52 65 73 49 | 6e 66 6f 28 74 68 65 44 |.SetResI|nfo(theD|
|00000b80| 52 56 52 2c 20 73 6c 6f | 74 2c 20 30 4c 29 3b 0d |RVR, slo|t, 0L);.|
|00000b90| 09 20 0d 09 65 72 72 20 | 3d 20 4f 70 65 6e 44 72 |. ..err |= OpenDr|
|00000ba0| 69 76 65 72 28 6e 61 6d | 65 2c 20 26 72 65 66 4e |iver(nam|e, &refN|
|00000bb0| 75 6d 29 3b 0d 09 69 66 | 28 65 72 72 20 3d 3d 20 |um);..if|(err == |
|00000bc0| 6e 6f 45 72 72 29 0d 09 | 09 7b 0d 09 09 2f 2a 20 |noErr)..|.{.../* |
|00000bd0| 64 65 74 61 63 68 20 74 | 68 65 20 72 65 73 6f 75 |detach t|he resou|
|00000be0| 72 63 65 73 20 66 72 6f | 6d 20 74 68 65 20 72 65 |rces fro|m the re|
|00000bf0| 73 6f 75 72 63 65 20 6d | 61 70 20 2a 2f 0d 09 09 |source m|ap */...|
|00000c00| 44 65 74 61 63 68 52 65 | 73 6f 75 72 63 65 28 74 |DetachRe|source(t|
|00000c10| 68 65 44 52 56 52 29 3b | 0d 20 0d 09 09 7d 0d 09 |heDRVR);|. ...}..|
|00000c20| 2f 2a 20 52 65 73 74 6f | 72 65 73 20 74 68 65 20 |/* Resto|res the |
|00000c30| 70 72 65 76 69 6f 75 73 | 20 72 65 73 6f 75 72 63 |previous| resourc|
|00000c40| 65 20 61 74 74 72 69 62 | 75 74 65 73 20 73 6f 20 |e attrib|utes so |
|00000c50| 74 68 65 79 20 64 6f 6e | 27 74 20 63 68 61 6e 67 |they don|'t chang|
|00000c60| 65 0d 09 20 2a 20 66 72 | 6f 6d 20 73 74 61 72 74 |e.. * fr|om start|
|00000c70| 75 70 20 74 6f 20 73 74 | 61 72 74 75 70 2e 20 20 |up to st|artup. |
|00000c80| 57 65 20 6a 75 73 74 20 | 77 61 6e 74 20 74 68 65 |We just |want the|
|00000c90| 20 69 6e 2d 6d 65 6d 6f | 72 79 20 63 6f 70 79 20 | in-memo|ry copy |
|00000ca0| 74 6f 20 68 61 76 65 0d | 09 20 2a 20 61 20 64 69 |to have.|. * a di|
|00000cb0| 66 66 65 72 65 6e 74 20 | 49 44 20 6e 75 6d 62 65 |fferent |ID numbe|
|00000cc0| 72 20 2d 2d 20 6e 6f 74 | 20 6f 75 72 20 72 65 73 |r -- not| our res|
|00000cd0| 6f 75 72 63 65 20 69 6e | 20 74 68 65 20 66 69 6c |ource in| the fil|
|00000ce0| 65 20 20 20 20 20 20 20 | 20 2a 2f 0d 09 74 68 65 |e | */..the|
|00000cf0| 44 52 56 52 20 3d 20 47 | 65 74 4e 61 6d 65 64 52 |DRVR = G|etNamedR|
|00000d00| 65 73 6f 75 72 63 65 28 | 27 44 52 56 52 27 2c 20 |esource(|'DRVR', |
|00000d10| 6e 61 6d 65 29 3b 0d 09 | 53 65 74 52 65 73 49 6e |name);..|SetResIn|
|00000d20| 66 6f 28 74 68 65 44 52 | 56 52 2c 20 44 52 56 52 |fo(theDR|VR, DRVR|
|00000d30| 69 64 2c 20 6e 69 6c 29 | 3b 0d 09 7d 0d 7d 0d 0d |id, nil)|;..}.}..|
|00000d40| 0d 73 68 6f 72 74 20 0d | 72 73 72 63 49 44 28 73 |.short .|rsrcID(s|
|00000d50| 68 6f 72 74 20 69 64 2c | 20 73 68 6f 72 74 20 44 |hort id,| short D|
|00000d60| 52 56 52 52 65 66 4e 75 | 6d 29 0d 7b 0d 72 65 74 |RVRRefNu|m).{.ret|
|00000d70| 75 72 6e 28 30 78 43 30 | 30 30 20 2b 20 28 7e 44 |urn(0xC0|00 + (~D|
|00000d80| 52 56 52 52 65 66 4e 75 | 6d 20 3c 3c 20 35 29 20 |RVRRefNu|m << 5) |
|00000d90| 2b 20 69 64 29 3b 0d 7d | 0d 00 00 00 00 00 00 00 |+ id);.}|........|
|00000da0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000db0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000dc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000dd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000de0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000df0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000e00| 00 00 01 00 00 00 01 6e | 00 00 00 6e 00 00 00 3e |.......n|...n...>|
|00000e10| 00 00 2d 27 0b 69 61 63 | 44 72 69 76 65 72 2e 68 |..-'.iac|Driver.h|
|00000e20| 02 00 00 00 54 45 58 54 | 4d 50 53 20 01 00 00 40 |....TEXT|MPS ...@|
|00000e30| 0f 69 6e 73 74 61 6c 6c | 44 72 69 76 65 72 2e 63 |.install|Driver.c|
|00000e40| 02 00 00 00 54 45 58 54 | 4d 50 53 20 01 00 00 14 |....TEXT|MPS ....|
|00000e50| 00 00 54 45 58 54 4d 50 | 53 20 01 00 00 14 00 60 |..TEXTMP|S .....`|
|00000e60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000e70| 00 00 a2 29 8a 61 00 00 | 0d 19 00 00 01 ac 00 00 |...).a..|........|
|00000e80| 00 00 00 00 00 00 14 00 | 00 00 2d 27 0e 69 61 63 |........|..-'.iac|
|00000e90| 44 72 69 76 65 72 2e 6d | 61 6b 65 2d 02 00 00 00 |Driver.m|ake-....|
|00000ea0| 54 45 58 54 4d 50 53 20 | 01 00 00 80 00 00 00 00 |TEXTMPS |........|
|00000eb0| 00 00 2e 94 00 00 00 00 | 03 ca 00 00 06 00 00 00 |........|........|
|00000ec0| 00 00 01 7e 00 00 06 00 | a2 29 44 6b a2 29 74 3a |...~....|.)Dk.)t:|
|00000ed0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000ee0| 00 00 00 00 00 00 21 45 | 00 01 00 00 00 00 00 00 |......!E|........|
|00000ef0| 00 00 21 49 00 01 00 00 | 00 00 00 00 00 00 00 00 |..!I....|........|
|00000f00| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 00 4b |...H..Mo|naco...K|
|00000f10| 00 00 00 14 00 01 a5 60 | 00 0a 00 4b 00 22 00 57 |.......`|...K.".W|
|00000f20| 02 1b 02 1b 00 00 00 06 | 00 03 00 68 00 27 01 6c |........|...h.'.l|
|00000f30| 02 51 00 50 00 20 01 54 | 02 4a a4 b1 c6 2e 00 00 |.Q.P. .T|.J......|
|00000f40| 02 36 00 00 02 36 00 00 | 00 00 01 00 00 00 00 1e |.6...6..|........|
|00000f50| 00 68 00 27 01 6c 02 51 | 00 50 00 20 01 54 02 4a |.h.'.l.Q|.P. .T.J|
|00000f60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000f70| 01 00 00 00 01 6e 00 00 | 00 6e 00 00 00 3e 00 4d |.....n..|.n...>.M|
|00000f80| 6f f8 0a a8 00 00 00 1c | 00 3e 00 00 4d 50 53 52 |o.......|.>..MPSR|
|00000f90| 00 01 00 0a 03 ed ff ff | 00 00 00 00 00 00 00 00 |........|........|
|00000fa0| 03 f0 ff ff 00 00 00 4c | 00 4f 58 ac 00 00 00 00 |.......L|.OX.....|
|00000fb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000fc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000fd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000fe0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000ff0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+